#ifndef INTERFACE_H_INCLUDED
#define INTERFACE_H_INCLUDED

#define Interface class

#define DefInterface(name) \
    Interface name {\
    public:\
        virtual ~name(){}

#define DefInterfaceBased(name,base) \
    Interface name : public base {\
    public:\
        virtual ~name(){}

#define EndInterface };

#define implement public

#define DefMethod(code) \
    virtual code = 0;


#endif // INTERFACE_H_INCLUDED
